package cn.highedu.coolshark.account.service;

import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Service;

@Slf4j
@Service
public class LogService {

    /**
     * 管理员日志方法，必须具有管理员角色才能访问
     * @PreAuthorize("hasRole('ADMIN')") 用于方法访问授权
     * hasRole 检查是否具有指定角色，不需要加前缀 ROLE_
     */
    @PreAuthorize("hasRole('ADMIN')")
    public void adminLog() {
        log.debug("管理员日志方法");
    }

    /**
     * 经理日志方法，必须具有经理角色才能访问
     * @PreAuthorize("hasRole('MANAGER')") 用于方法访问授权
     * hasRole 检查是否具有指定角色，不需要加前缀 ROLE_
     */
    @PreAuthorize("hasRole('MANAGER')")
    public void managerLog() {
        log.debug("经理日志方法");
    }

    /**
     * 具有日志查询权限的才能访问当前query方法
     */
    @PreAuthorize("hasAuthority('sys:log:query')")
    public void queryList() {
        log.debug("日志查询方法");
    }

    /**
     * 具有日志删除权限的才能访问当前delete方法
     */
    @PreAuthorize("hasAuthority('sys:log:delete')")
    public void delete() {
        log.debug("日志删除方法");
    }

}
